﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
#if NETFX_CORE
using Windows.UI.Xaml;
#else
using System.Windows;

#endif

namespace StyleMVVM.ViewModel
{
	/// <summary>
	/// The IViewModelResolutionService is responsible for resolving and binding viewmodels to views.
	/// </summary>
	public interface IViewModelResolutionService
	{
		/// <summary>
		/// This method resolves a viewmodel for a view and binds it.
		/// </summary>
		/// <param name="view"></param>
		/// <param name="viewModelName"></param>
		/// <returns></returns>
		bool ResolveViewModel(FrameworkElement view, string viewModelName);

#if DOT_NET
	/// <summary>
	/// This method resolves a viewmodel for a view and binds it.
	/// </summary>
	/// <param name="view"></param>
	/// <param name="viewModelName"></param>
	/// <returns></returns>
		void ResolveViewModel(FrameworkElement view, Type viewModelName);
#endif
	}
}